package com.greenline.push.core.pushcenter;

import java.util.List;

import com.greenline.push.dal.pushcenter.dataobject.DomainAppTemplateDO;
import com.greenline.push.dal.query.DomainAppTemplateQuery;

/**
 * DomainAppTemplateManager
 * 
 * @author zhangdp
 * 
 */
public interface DomainAppTemplateManager {

    /**
     * 新增
     * 
     * @param appDomainTempDO
     * @return 新增数据的ID
     */
    Long insert(DomainAppTemplateDO appDomainTempDO);

    /**
     * 根据ID获取appDomainTempDO
     * 
     * @param id
     * @return appDomainTempDO
     */
    DomainAppTemplateDO getAppDomainTemplateById(Long id);

    /**
     * 根据domainId获取AppDomainTemplate
     * 
     * @param domainId
     * @return
     */
    List<DomainAppTemplateDO> getAppDomainTemplateListByDomainId(Long domainId);

    /**
     * 跟新
     * 
     * @param appDomainTempDO
     * @return -1 表示更新失败；>0 表示更新成功
     */
    boolean update(DomainAppTemplateDO appDomainTempDO);

    /**
     * 分页查询
     * 
     * @param query
     * @return
     */
    DomainAppTemplateQuery listByQuery(DomainAppTemplateQuery query);

    /**
     * 删除
     * 
     * @param id
     * @return -1 表示更新失败；>0 表示更新成功
     */
    boolean delete(Long id);

    /**
     * 获取priority
     */
    Integer getPriorityByApptemplateId(Long apptemplateId);
}
